1. Field of the Invention
The present invention relates generally to voice and data communications, and in particular, to emulating a T1 communications link over an Asynchronous Transfer Mode (ATM) communications network.
2. Related Art
A communications network serves to transport information among a number of locations. The information is usually presented to the network in the form of time domain electrical signals and can represent any combination of voice, video, or computer data. A typical communications network consists of various physical sites called "nodes", interconnected by conduits called "links". Each link carries information from one node to another node. End user nodes contain data terminating equipment (DTE) for combining, separating, and transforming data and voice. As such, a DTE can be a voice switch, data switch, or a combination of the two. A series of non-DTE nodes interconnected to each other with ATM links is often referred to as an ATM cloud. A DTE is typically connected to the ATM cloud at one point, and may be connected with an ATM link, other types of data links including frame relay, or digital time domain multiplexed (TDM) communications links such as T1. When an ATM cloud node is connected to a DTE over a non-ATM link, it is typically called circuit emulation.
T1 (also known as DS1) is one type of a TDM communications link. T1 is a synchronous link capable of carrying 24 DS0 channels which are TDM and transmitted over a single physical line. A DS0 channel is a 64 kilobits per second (64 Kbps) channel, which is the world wide standard for digitizing voice conversation. The 64 Kbps bit rate is chosen because an analog voice signal can be adequately represented by a digital data stream if sampled at a rate of 8000 samples per second. If each voice sample is digitized using 8 bits, this results in a digital data stream of 64 Kbps.
A T1 link transmits one T1 frame 8000 times per second (or one frame every 125 .mu.s). Each T1 frame contains a T1 payload with 24 DS0 timeslots, one for each DS0 channel with 8 bits in each timeslot. Each T1 frame also has a T1 frame bit that identifies the start of the T1 frame, so that a T1 frame has a total size of 193 bits. This results in a data stream of 1.544 Mbps (8000 frames/sec 193 bits/frame).
A T1 superframe is a group of 12 T1 frames. Each superframe contains a frame bit section composed of 12 frame bits, and a payload section composed of 12 samples for each of the 24 DS0 channels. A T1 extended superframe (ESF) is a group of 24 T1 frames. Each ESF is composed of an ESF frame bit section that contains 24 frame bits, and an ESF payload section that contains 24 samples of each of the 24 DS0 channels.
Although T1 was developed for voice communications, it is not limited to voice communications. The physical line carrying the 24 channels does not care whether the channel timeslot contains digitized voice samples or digital computer data. Thus, a broader definition of a T1 link is a digital transmission link with a capacity of 1.544 Mbps.
Information concerning whether a channel is active, idle, ringing, etc., may be passed through the voice channel by borrowing, or robbing, one bit every 6.sup.th frame. This process is called robbed bit signaling. Robbed bit signaling does not noticeably affect the quality of voice connections in a telephone network.
When robbed bit signaling is used and a voice channel is used to carry digital data, only 7 of the 8 bits in each frame can be counted upon to pass data through the network from one end to the other, as the 8.sup.th bit is frequently modified as the robbed bit. This gives rise to a single DS0 channel carrying only 56 Kbps of data. An entire T1 link carrying digital data would carry 1.340 Mbps using this method. This is inefficient and for this reason a new standard for T1 transmission called Primary Rate ISDN (PRI) was developed to more efficiently move digital data through a T1 link.
The PRI format calls for a T1 link to not have robbed bit signaling. Instead, one of the 24 voice channels is dedicated for channel management (e.g. active, ringing, etc.) and is called the "D" channel. The other 23 channels, called bearer channels or "B" channels, may now use all 64 Kbps to carry digital data. An entire T1 link using PRI format can carry 1.430 Mbps. Industry standards frequently call this form of PRI 23B+D. Further efficiencies can arise when multiple T1 links between two end nodes exist. (An end node is a node where a call is originated or terminated; all other nodes along the entire link are used to only route the traffic through the telephone network). A single D channel in one link can carry all the necessary information for several T1 links. Two T1 links with a single D channel would be called 47B+D, and four T1 links with a single D channel would be called 95B+D. Some versions also carry a spare D channel in case the T1 link with the active D channel goes down.
The D channel carries High level Data Link Control (HDLC) messages about the B channels in all the T1 link(s) covered by that particular D channel. When a D channel carries an HDLC message it becomes known as the HDLC channel. Typically, the HDLC channel is the 24.sup.th channel on a T1 link and occupies the 24.sup.th timeslot in a T1 frame.
The HDLC channel is used by the DTE equipment at the two end nodes to transmit link management messages. Examples of these link management messages are call setup and call teardown. When user A at node 1 wants to setup a call with user B at node 2, DTE.sub.1 and DTE.sub.2 communicate system information to setup the call. This is done over the HDLC channel. Likewise, when either user A or user B terminates the call, DTE.sub.1 and DTE.sub.2 must communicate to tear down the call setup so the channel can be reused.
Another link management example is call blocking. If user B had previously notified the link management to block calls from user A, then the message from DTE.sub.2 back to DTE.sub.1 that user A is blocked would be carried over the HDLC channel. A further example is caller ID. If user B has caller ID, the phone number of user A will be carried over the HDLC channel and displayed to user B.
Since T1 is a synchronous TDM link, once a channel connection has been setup between two users, that channel is dedicated until the connection is torn down. This channel dedication is an inefficient use of the 1.544 Mbps of T1 link capacity. For example, assume channel #5 of the 24 T1 channels is set up between user A and user B. Channel #5 will carry all communication between user A and user B. If there is a pause in the communication between user A and user B (such as user A putting user B on hold) during the transmission of a particular T1 frame, then that particular T1 frame will carry an empty channel #5 timeslot. Even a short pause of one minute can lead to 480,000 T1 frames being transmitted with an empty channel #5 timeslot This is so even if channel #6 is being fully utilized by computer data at 64 Kbps. Because channel #5 is dedicated, the channel #6 user cannot send data over two channels (e.g. #5 and #6) for an effective rate of 128 Kbps.
Asynchronous Transfer Mode (ATM) is an asynchronous type of communications protocol. It is designed to be carried over the emerging fiber optical network, called the Synchronous Optical NETwork (SONET), although it can be carried over almost any communications link. The basic unit of ATM is the ATM cell. Each cell contains two parts; a header, which contains routing information, and a payload, which contains the data to be transported from one end node to another.
ATM is considered asynchronous because each node in the network does not know until after a cell arrives where it is intended to go. In a synchronous network, each timeslot is assigned a certain time when it is to arrive at each node. When it arrives will determine where a timeslot goes. Thus, the individual timeslots do not need to have routing information within them. The arrival of a particular ATM cell at a node, on the other hand, is not guaranteed to occur at a particular point in time.
There are a number of factors which makes ATM attractive to the telecommunications industry. One is the cost of the SONET transport mechanism. On a bit per bit basis, it is significantly less expensive than using metallic links by several factors of ten. The theoretical capacity of fiber is in excess of 20 tera bits per second (20 million million bits per second). Current technology is at 40 thousand million bits per second, and will soon increase to 160 thousand million bits per second. As technology improves, more information can be sent over each fiber optic buried in the ground.
On the other hand, metallic links that can span long distances are and reasonable to manufacture, have long ago reached their theoretical limits of roughly under 500 million bits per second, and are much bulkier than fiber optic links. The metallic link is also susceptible to rust and corrosion, whereas the fiber is relatively chemically inert. Because of signal attenuation (loss of signal strength as a signal travels down a link) on either type of link, repeaters which reamplify the signal are needed. Metallic links attenuate the signals more than do fiber links, so more repeaters for metallic links are needed than for fiber links for a given distance. For instance, a T1 link can span a maximum of just over one mile (6000 feet) before a repeater is needed. It is not unusual for fiber optic links to span 50 to 100 miles between repeaters.
For this reason, it is now cost effective for two end nodes of a T1 link to convert their T1 signals into ATM cells, transport it across a SONET network, and then reconvert back to T1 at the other end. At the destination node, an ATM receiver unloads the T1 frames from the ATM cells. The ATM receiver sends the T1 frames to a switch matrix where the DS0 channels are de-multiplexed and sent to their particular user destinations. This approach is referred to as T1 emulation over an ATM network.
A problem can occur in the ATM receiver during the unloading of the T1 frames from their respective ATM cells. Typically, the incoming ATM cells are stored in a buffer before the T1 frames are unloaded and sent to the switch matrix.
Flow problems occur when the incoming ATM cell rate differs from the rate that the switch matrix is demanding T1 frames. If the incoming ATM cell rate exceeds the rate of outgoing T1 frames, the buffer will eventually fill up. When this occurs, the delivery of T1 frames to the switch matrix will be interrupted and T1 frames will be lost. If the switch matrix requirements exceed the incoming ATM cell rate, then the buffer will eventually empty out, which may also lead to an interruption of T1 payload delivery. The condition that results when the buffer either fills to capacity or empties out because of flow control problems is a frame slip event.
When the emulated T1 link is carrying voice communications, the loss of a single T1 frame due to a frame slip has minimal effect on the quality of the voice communication between the link users if the call setup is already complete. This is because each T1 frame contains only one voice sample from each of the 23 channels, and 8000 T1 frames/sec are transmitted. (The 24.sup.th channel is the HDLC channel.) Thus, the loss of one T1 frame, or even 20 T1 frames will not be noticed by the link users.
But a frame slip can have a significant effect on HDLC message processing when conventional methods are used to read the HDLC message. Conventional methods read the HDLC channel at the output of the switch matrix. In other words, conventional methods place the HDLC receiver at the output of the switch matrix so that HDLC timeslot is not read until after the T1 frame is demultiplexed. The HDLC message is then sent to an HDLC channel controller which interprets the message and makes control decisions. The conventional placement of the HDLC receiver makes HDLC message processing vulnerable to frame slips that occur in the ATM receiver because the ATM receiver is "upstream" from the switch matrix.
The HDLC message components will now be discussed to support the understanding of frame slip effects on conventional HDLC message processing. A single T1 frame carries only 1 byte of an HDLC message, and thus it takes multiple T1 frames to carry the entire HDLC message. Each HDLC message contains: an initial flag field, an address field, a control field, an information field, a frame check sequence field, and a final flag field. The initial and final flag fields delimit the beginning and end of the HDLC message. The information field carries the actual HDLC message. The frame check sequence (FCS) field carries a 16 bit or 32 bit Cylic Redundancy Check (CRC) which can used to detect bit errors in the HDLC message caused by the physical line.
The effect of a frame slip on conventional HDLC message processing will now be discussed. If a frame slip causes the loss of the initial flag field, a conventionally placed HDLC receiver will ignore the HDLC message because no notice was received. If a frame slip causes the loss or duplication of 1 byte of the information field, the system command represented by the digital data in the information field will be unintelligible. This is because the HDLC controller must refer to a table to decipher the system command represented by the information field. If 1 byte of the information field is lost, this will not be possible. If a frame slip causes the loss or duplication of 1 byte in the FCS field, the CRC test will fail. The HDLC controller ignores the HDLC message and requests message retransmission after a CRC test failure. If a frame slip causes the loss of the final flag field, then a conventionally placed HDLC receiver cannot realize the HDLC message has ended. This will eventually lead to a timeout error, which will cause the HDLC controller to reject the message and request re-transmission. Also, this could cause a conventionally placed HDLC receiver to ignore a second HDLC message because the initial flag of the second message was interpreted as the final flag of the first message. In some HDLC formats, a single flag can represent both the ending flag for one message and the beginning flag for the next. In this instance, the two messages will be interpreted as a single message, and both will be lost.
What is needed is a method and system of processing the HDLC message despite the occurrence of a frame slip event during the reception of an HDLC message.